/**
 * 
 */
package com.obradovicnjegovan.webprodavnica.pages.admin;

import java.io.File;
import java.util.List;

import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.hibernate.annotations.CommitAfter;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.upload.services.UploadedFile;

import com.obradovicnjegovan.webprodavnica.controller.ControllerAL;
import com.obradovicnjegovan.webprodavnica.entities.Kategorija;
import com.obradovicnjegovan.webprodavnica.entities.Proizvod;

/**
 * @author njegovan
 *
 */
public class NoviProizvod {
	@Inject
	private ControllerAL controllerAL;
	@Property
	private Kategorija kategorija;
	@Property
	private String naziv;
	@Property
	private String opis;
	@Property
	private int stanje;
	@Property
	private double cena;
	@InjectComponent
	private Form createProizvod;
	@Property
    private UploadedFile file;
	
	@CommitAfter
	public Object onSubmitFromCreateProizvod(){
		try {
			File copied = new File("src/main/webapp/layout/images/" + file.getFileName());
	        file.write(copied);
			Proizvod noviProizvod = new Proizvod();
			noviProizvod.setNazivProizvoda(naziv);
			noviProizvod.setOpisProizvoda(opis);
			noviProizvod.setStanjeNaZalihama(stanje);
			noviProizvod.setCena(cena);
			noviProizvod.setPrezentacionaSlika("layout/images/" + file.getFileName());
			noviProizvod.setKategorija(kategorija);
			controllerAL.sacuvajProizvod(noviProizvod);
			return Proizvodi.class;
		} catch (Exception e) {
			return null;
		}
	}
	
	public List<Kategorija> getKategorije(){
		return controllerAL.pronadjiSveKategorije();
	}


}